home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / sakiba / source / draw.has < prev    next >
Text File  |  2000-06-20  |  1KB  |  72 lines

  1. *---------------------------------------------
  2. *
  3. *    格闘シミュレーション「さきば」
  4. *
  5. *                描画
  6. *
  7. *---------------------------------------------
  8.  
  9.  
  10.     .include    IOCSCALL.MAC
  11.  
  12.     .xdef    _draw_bar
  13.  
  14.  
  15.     .cpu    68000
  16.  
  17. VRAM:        .equ    $c00000            * VRAM
  18. BAR_W:        .equ    10            * バーの幅
  19. BAR_H:        .equ     6            * バーの高さ
  20.  
  21.  
  22.     .text
  23.     .even
  24.  
  25. set_address    .macro                * VRAM、バッファアドレス設定
  26.     move.l    4(sp),d0            * x座標
  27.     move.l    8(sp),d1            * y座標
  28.     lsl.w    #8,d1
  29.     add.l    d1,d0
  30.     add.l    d1,d0
  31.     add.l    d0,d0
  32.     lea.l    VRAM,a0                * VRAM
  33.     adda.l    d0,a0
  34.     .endm
  35.  
  36. *//////////////////////////////////
  37. *    行動バー描画
  38. *    引数     4(sp) = x座標
  39. *         8(sp) = y座標
  40. *        12(sp) = 色
  41. *        16(sp) = 境界色
  42. *        20(sp) = 半分か
  43. _draw_bar:
  44.     set_address                * VRAMアドレス設定
  45.  
  46.     move.l    12(sp),d0            * 色
  47.     moveq.l    #BAR_H-1-1,d1
  48.     tst.l    20(sp)
  49.     beq    db_lp1
  50.     moveq.l    #BAR_H/2-1-1,d1            * 半分
  51. db_lp1:
  52.     moveq.l    #BAR_W-1,d2
  53. @@:
  54.     move.w    d0,(a0)+
  55.     dbra    d2,@b
  56.     lea.l    $400-BAR_W*2(a0),a0
  57.     dbra    d1,db_lp1
  58.  
  59.     move.l    16(sp),d0            * 境界色
  60.     moveq.l    #BAR_W-1,d2
  61. @@:
  62.     move.w    d0,(a0)+
  63.     dbra    d2,@b
  64.     rts
  65.  
  66.  
  67.     .data
  68.     .even
  69.  
  70.  
  71.     .end
  72.